package app.temporary;

import app.common.utils.NumberUtils;
import com.alibaba.excel.annotation.ExcelProperty;
import com.gitee.feizns.dynamic.DateUtils;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 出库单
 * @author feizns
 * @since 2023/8/15
 */
@Data
public class OutboundOrder {

    /**
     * 代码
     */
    @ExcelProperty("代码")
    private String code;

    /**
     * 修改时间
     */
    @ExcelProperty("修改时间")
    private Date modifyTime;

    /**
     * 数量
     */
    @ExcelProperty("数量")
    private BigDecimal delivery;

    /**
     * 得到交付
     * @return {@link BigDecimal}
     */
    public BigDecimal getDelivery() {
        return NumberUtils.fourDecimalPlaces(delivery);
    }

    /**
     * 商家编码
     */
    @ExcelProperty("商家编码")
    private String merchantCode;

    /**
     * 仓库编号
     */
    @ExcelProperty("仓库编号")
    private String warehouseNumber;

    /**
     * 外部编号
     */
    @ExcelProperty("外部编号")
    private String externalNumber;

    /**
     * 备注
     */
    @ExcelProperty("备注")
    private String note;

    /**
     * 来源表单
     */
    @ExcelProperty("来源表单")
    private String sourcesOfForm;

    /**
     * 成本价
     */
    @ExcelProperty("成本价")
    private BigDecimal costPrice;

    /**
     * 把成本价格
     * @return {@link BigDecimal}
     */
    public BigDecimal getCostPrice() {
        return NumberUtils.fourDecimalPlaces(costPrice);
    }

    /**
     * 金额
     */
    @ExcelProperty("金额")
    private BigDecimal amountOf;

    /**
     * 得到
     * @return {@link BigDecimal}
     */
    public BigDecimal getAmountOf() {
        return NumberUtils.fourDecimalPlaces(amountOf);
    }

    /**
     * stringify修改时间
     * @return {@link String}
     */
    public String stringifyModifyTime() {
        return DateUtils.format(modifyTime, "yyyy-MM-dd HH:mm:ss.SSS");
    }

}
